Don't send grab broken for implicit grabs on button release
authorAlexander Larsson <alexl@redhat.com>
Thu, 10 Sep 2009 17:27:45 +0000 (19:27 +0200)
committerAlexander Larsson <alexl@redhat.com>
Thu, 10 Sep 2009 17:27:45 +0000 (19:27 +0200)
This is how it used to work, you only get grab broken if someone
else gets a grab, or if the grabbed window gets destroyed or unmapped.

gdk/gdkwindow.c

index 8487922c0f497a0e8599c8f60693a13e43af9195..eb41ec242b8e128051cdaa86a50736eba43a0d9b 100644 (file)
@@ -10090,7 +10090,7 @@ _gdk_windowing_got_event (GdkDisplay *display,
              (event->button.state & GDK_ANY_BUTTON_MASK & ~(GDK_BUTTON1_MASK << (event->button.button - 1))) == 0)
            {
              button_release_grab->serial_end = serial;
-             button_release_grab->implicit_ungrab = TRUE;
+             button_release_grab->implicit_ungrab = FALSE;
              _gdk_display_pointer_grab_update (display, serial);
            }
        }
@@ -10213,7 +10213,7 @@ _gdk_windowing_got_event (GdkDisplay *display,
          (event->button.state & GDK_ANY_BUTTON_MASK & ~(GDK_BUTTON1_MASK << (event->button.button - 1))) == 0)
        {
          button_release_grab->serial_end = serial;
-         button_release_grab->implicit_ungrab = TRUE;
+         button_release_grab->implicit_ungrab = FALSE;
          _gdk_display_pointer_grab_update (display, serial);
        }
     }